jQuery(document).ready(function ($) {
	var oAiCvManager = {
		init : function () {
//			this.test();

			//ajax form submit
			this.fnFormSubmit();
			this.fnClearField();
			this.fnBlockUi();
			
		},

		test : function () {
			console.log('test');
		},

		fnFormSubmit : function () {
			var oThis = this;

//			var sActionUrl = 'http://sp.local/wp-admin/admin-ajax.php'; //local
			$('#iFormCvManager').ajaxForm({
				target : '#iDivTarget',
				dataType : 'json',
				data : {
					'action' : 'aisprdocmanager_cvUpload'
				},
				success : function (data) {
					var aFormErrors = data.errors;
					var sMessage = data.message;
					var bStatus = data.status;

					if (bStatus == false) {
//						oThis.fnEmptyForm();

						//set elemment error class
//						if (!$('.cDivElementContainer').hasClass('cError')) {
//							$('.cDivElementContainer').addClass('cError');
//						}

						//display error message
						if (!$('.cSpanError').hasClass('cDisplay')) {
							$('.cSpanError').addClass('cDisplay');
						}

						if (!$('.cFileElementError').hasClass('cDisplay')) {
							$('.cFileElementError').addClass('cDisplay');
						}

						if (!$('.cTextareaElementError').hasClass('cDisplay')) {
							$('.cTextareaElementError').addClass('cDisplay');
						}


						oThis.fnSetErrors(aFormErrors);


					} else {
						//Form valid and success
						oThis.fnEmptyForm();

						//remove error class if has
						if ($('.cDivElementContainer').hasClass('cError')) {
							$('.cDivElementContainer').removeClass('cError');
						}

						//remove error message
						if ($('.cSpanError').hasClass('cDisplay')) {
							$('.cSpanError').removeClass('cDisplay');
						}

						if ($('.cFileElementError').hasClass('cDisplay')) {
							$('.cFileElementError').removeClass('cDisplay');
						}

						if ($('.cTextareaElementError').hasClass('cDisplay')) {
							$('.cTextareaElementError').removeClass('cDisplay');
						}
					}
//					console.log(bStatus);
				}
			});
		},

		fnClearField : function () {
			$('.cDivElementContainer').on('click',function () {
				var oThisDivElementContainer = $(this);
				if (oThisDivElementContainer.hasClass('cError')) {

					if (oThisDivElementContainer.children('span').hasClass('cDisplay')) {
						oThisDivElementContainer.children('span').removeClass('cDisplay');
					}
				}
//				console.log('onfocus');
			});
		},

		fnEmptyForm : function () {
//			console.log('emptyform');
			$('#iFormCvManager').find('input[type=text], textarea, input[type=file]').val('');
		},

		fnSetErrors : function (aFormErrors) {

			if (aFormErrors.hasOwnProperty('textName')) {

				if (!$('input[name=textName]').parent().hasClass('cError')) {
					$('input[name=textName]').parent().addClass('cError');
				}

				var sTextName = aFormErrors.textName[0];
				$('input[name=textName]').next('span').text(sTextName);

			} else {

				if ($('input[name=textName]').parent().hasClass('cError')) {
					$('input[name=textName]').parent().removeClass('cError');

					if ($('input[name=textName]').next('span').hasClass('cDisplay')) {
						$('input[name=textName]').next('span').removeClass('cDisplay');
					}

				}
			}

			if (aFormErrors.hasOwnProperty('textEmail')) {

				if (!$('input[name=textEmail]').parent().hasClass('cError')) {
					$('input[name=textEmail]').parent().addClass('cError');
				}

				var sEmail = aFormErrors.textEmail[0];
				$('input[name=textEmail]').next('span').text(sEmail);

			} else {

				if ($('input[name=textEmail]').parent().hasClass('cError')) {
					$('input[name=textEmail]').parent().removeClass('cError');
				}


				if ($('input[name=textEmail]').next('span').hasClass('cDisplay')) {
					$('input[name=textEmail]').next('span').removeClass('cDisplay');
				}
			}

			if (aFormErrors.hasOwnProperty('fileCv')) {

				if (!$('input[name=fileCv]').parent().hasClass('cError')) {
					$('input[name=fileCv]').parent().addClass('cError');
				}

				var sFile = aFormErrors.fileCv[0];
				$('input[name=fileCv]').next().next('span').text(sFile);

			} else {

				if ($('input[name=fileCv]').parent().hasClass('cError')) {
					$('input[name=fileCv]').parent().removeClass('cError');
				}


				if ($('input[name=fileCv]').next().next('span').hasClass('cDisplay')) {
					$('input[name=fileCv]').next().next('span').removeClass('cDisplay');
				}
			}

			if (aFormErrors.hasOwnProperty('textareaComments')) {

				if (!$('textarea[name=textareaComments]').parent().hasClass('cError')) {
					$('textarea[name=textareaComments]').parent().addClass('cError');
				}

				var sComments = aFormErrors.textareaComments[0];
				$('textarea[name=textareaComments]').next('span').text(sComments);

			} else {

				if ($('textarea[name=textareaComments]').parent().hasClass('cError')) {
					$('textarea[name=textareaComments]').parent().removeClass('cError');
				}


				if ($('textarea[name=textareaComments]').next('span').hasClass('cDisplay')) {
					$('textarea[name=textareaComments]').next('span').removeClass('cDisplay');
				}
			}

		},

		fnBlockUi : function () {
			$.blockUI.defaults.message = $('#iDivBlockUiMessage').html();
//			$.blockUI.defaults.css = {};

			$(document).ajaxStart($.blockUI);

			$(document).ajaxStop($.unblockUI);
		}

	}

	oAiCvManager.init();
});